// 商品管理-品牌管理相关的接口
import request from '@/utils/reuqest'
import type { PaginationData } from '@/api/base' // 导入通用API响应类型，确保类型正确匹配，避免类型错误导致编译失败。
import type { TrademarkVo } from '@/api/product/type' // 导入类型定义，确保类型正确匹配，避免类型错误导致编译失败。

/**
 * 获取品牌列表
 * @param page
 * @param pageSize
 * @returns
 */
export function getList(
  // 页码
  page: number,
  // 每页显示数量
  pageSize: number
): Promise<PaginationData<TrademarkVo>> {
  // 发送请求，获取商标列表
  return request({
    url: '/product/trademark/list',
    method: 'post',
    params: {
      page,
      pageSize
    }
  })
}

/**
 * 导出一个函数，用于添加商标
 * @param trademark
 * @returns
 */
export function addTrademark(trademark: TrademarkVo): Promise<void> {
  // 发送一个post请求，将trademark作为参数传递
  return request({
    url: '/product/trademark/save',
    method: 'post',
    data: trademark
  })
}
/**
 * 导出一个函数，用于更新商标信息
 * @param trademark
 * @returns
 */
export function updateTrademark(trademark: TrademarkVo): Promise<void> {
  // 发送一个post请求，请求地址为'/product/trademark/update'，请求参数为trademark
  return request({
    url: '/product/trademark/update',
    method: 'put',
    data: trademark
  })
}
/**
 * 导出一个函数，用于删除商标
 * @param id
 * @returns
 */
export function deleteTrademark(id: string): Promise<void> {
  // 发送一个delete请求，删除指定id的商标
  return request({
    url: `/product/trademark/delete/${id}`,
    method: 'delete'
  })
}
/**
 * 用于获取商标信息
 * @param id
 * @returns
 */
export function getTrademark(id: string): Promise<TrademarkVo> {
  // 发送请求，获取指定id的商标信息
  return request({
    url: `/product/trademark/findById/${id}`,
    method: 'get'
  })
}
